package com.durian.financial.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.durian.common.core.annotation.Excel;
import com.durian.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 房租分期申请详情对象 t_jr_rent_installment_detail
 * 
 * @author durian
 * @date 2022-06-22
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class JrRentInstallmentDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 房租分期申请单ID */
    @Excel(name = "房租分期申请单ID")
    private Long rentInstallmentId;

    /** 商户id */
    @Excel(name = "商户id")
    private Long businessId;

    /** 房产id */
    @Excel(name = "房产id")
    private Long housePropertyId;

    /** 房产信息 */
    @Excel(name = "房产信息")
    private String realEstateInfo;

    /** 房源ID */
    @Excel(name = "房源ID")
    private String roomId;

    /** 房源编号 */
    @Excel(name = "房源编号")
    private String roomCode;

    /** 房源名称 */
    @Excel(name = "房源名称")
    private String roomName;

    /** 应收月租金 */
    @Excel(name = "应收月租金")
    private BigDecimal monthlyRentReceivable;

    /** 分期后月租金 */
    @Excel(name = "分期后月租金")
    private BigDecimal monthlyRentAfStag;

    /** 分期利息 */
    @Excel(name = "分期利息")
    private BigDecimal instalmentInterest;

    /** 借款账期开始日：yyyymmdd */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借款账期开始日：yyyymmdd", width = 30, dateFormat = "yyyy-MM-dd")
    private Date starLoanday;

    /** 借款账期截止日：yyyymmdd */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借款账期截止日：yyyymmdd", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endLoanday;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private BigDecimal reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识，0:未删除，1：删除 */
    @Excel(name = "删除标识，0:未删除，1：删除")
    private Integer delFlg;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserid;

    /** 更新用户ID */
    @Excel(name = "更新用户ID")
    private Long updateUserid;

    /** 资方订单号 */
    @Excel(name = "资方订单号")
    private String yhOrderNo;

    /** 距离最近还款日天数 */
    @Excel(name = "距离最近还款日天数")
    private Integer recentlyRefundDays;

    /** 结清需还款 */
    @Excel(name = "结清需还款")
    private BigDecimal settleAmount;

    /** 剩余期数 */
    @Excel(name = "剩余期数")
    private Integer remainingPeriod;

    /** 每月应还日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "每月应还日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monthlyRepayDay;

    /** 最大逾期天数 */
    @Excel(name = "最大逾期天数")
    private Integer maxOverdueDays;

    /** 当前应还 */
    @Excel(name = "当前应还")
    private BigDecimal currentShouldRepay;

    /** 退服务费金额 */
    @Excel(name = "退服务费金额")
    private BigDecimal refundAmount;

    /** 退服务费状态 :0 未退 1 已退 */
    @Excel(name = "退服务费状态 :0 未退 1 已退")
    private Integer refundStatus;

    /** 财务单号 */
    @Excel(name = "财务单号")
    private String borrowNid;

}
